Blueprint Help Send comments on this topic.
Logical Semaphore Connections

Glossary Item Box

$DD$ this page got lost between 10 and 12. I have restored it from 10 but it needs checking

Connection Attributes

Logical semaphore connections require the following attributes;

Timeout

This attribute determines whether the connection will poll or block (see Connection Timeout).

Signature

This attribute is a string that describes the mapping from elements in the consumer, to elements in the providing semaphore.  See Connection Signature.

Dimspec

This attribute determines the dimensionality of the connection array owned by each consuming element.  By default, this will provide the consuming element with one connection for each provider element.  Collector, Multiplexor and Manual connection consumers can have multi-dimensional connection arrays, but in all other cases, this attribute will be '1'.  See Connection Dimspec.

Repeat Count

This attribute determines the number of times that each 'provider element to consumer element' connection is repeated.  If the repeat count is greater then one, then the Dimspec attribute (above), and the resulting connection access functions, will both have an 'extra' dimension.  Only Collector, Multiplexor and Manual connection consumers can have repeat counts that are greater than '1'.  See Connection Repeat Count.

Name

This attribute determines the connection's 'name' which is used to construct access function names (see Connection Names).

Access

This attribute determines whether the consumer is requesting or signaling.

Key1

This attribute is used by requesting and signaling cases and is described in detail in the  LSM request function and LSM signal function topics respectively.

Key2

This attribute is used by requesting and signaling cases and is described in detail in the  LSM request function and LSM signal function topics respectively.

Rule

This attribute is used by requesting and signaling cases and is described in detail in the  LSM request function and LSM signal function topics respectively.

Additional attributes may also be required that are specific to the connection's consuming object.  These are documented in their respective sections.

Manual Connections

The following member functions apply to manual connections only (see Manual Connections);

Signal()

This member function signals the connected semaphore (see LSM Signal).

Request()

This member function requests the connected semaphore (see LSM Request).

Automatic and Manual Connections

The following are provided by both automatic and manual connections, but are only valid when the connection has been opened (see Automatic Connections);

Status()

This member function returns the connection's event status.  Following a successful request the function will return CLP_EVENT_OPEN.  If the request timed out it will return CLP_EVENT_TIMED_OUT.  Event status is undefined after execution of the 'signal' function.

IsOpen()

This member function returns TRUE if the request has succeeded or FALSE otherwise.